package MultiPong;

import java.io.*;
import java.net.*;

public class Server extends Thread{
	

	
	public ServerThread[] speler = new ServerThread[3];
	int aantal = 0;
	StringBuffer xpos = new StringBuffer("350");
	String xpos_bal = "20";
	String ypos_bal = "20";
	int xpos_1 ;
	int xpos_2 ;
	int xpos_3 ;
	int xpos_4 ;
	BalThread bal = new BalThread(this);
	public Server(){
		  bal.start();
	}
	
		
	
	public String getXpos(){
		for( int i = 0; i<aantal;i++){
			xpos.delete(0,xpos.length());
			xpos.append(speler[i].getXpos());
			switch(i){ 
			case 1 : xpos_1=Integer.parseInt(speler[i].getXpos());
			 break;
			case 2 : xpos_2=Integer.parseInt(speler[i].getXpos());
			 break;
			case 3 : xpos_3=Integer.parseInt(speler[i].getXpos());
			 break;
			case 4 : xpos_4=Integer.parseInt(speler[i].getXpos());
			 break;
			}
		}
		//System.out.println(xpos.toString());
		return xpos.toString();
		}
	public String getXpos_bal(){ // xpos_bal moet gehaald worden uit server
		xpos_bal=getXpos_thread();
		return xpos_bal.toString();
		
	}
	public String getYpos_bal(){
		ypos_bal=getYpos_thread();
		return ypos_bal.toString();
	}
	
	public String getXpos_thread(){     // server haalt posistie uit thread onnodig zie bovenstaande getter
		String xpos = bal.getXpos_thread();
		return xpos;
	}
	public String getYpos_thread(){     // server haalt posistie uit thread
		String ypos = bal.getYpos_thread();
		return ypos;
	}
	public int  getxpos_1(){
		return xpos_1;		
	}
	public int  getxpos_2(){
		return xpos_2;		
	}
	
	public void run() {
		ServerSocket serverSocket = null;
        boolean listening = true;
        
         // een array voor referenties naar thread-objecten
        
        

        try {
           serverSocket = new ServerSocket(4444);
        } catch (IOException e) {
            System.err.println("Could not listen on port: 4444.");
            e.printStackTrace();
            //System.exit(-1);
        }
        
        System.out.println("Server draait");
        
        try {
        	Socket clientSocket = null;
        while (listening){
        	clientSocket = serverSocket.accept(); // wacht op client
        	  
        	  // maak nieuwe thread
         	speler[aantal] = new ServerThread(clientSocket, aantal);
        	speler[aantal].start(); // start() roept de run() op van de thread 
	        aantal++;
	      
	        System.out.println("Client nr " + aantal + " heeft zich aangemeld") ;
	        
        }      

        serverSocket.close();
        } catch (IOException ioe) {
        	ioe.printStackTrace();
        }
        
        
	}
	
}